Management operations of storage in remote locations, often referred to as remote management operations, are typically executed, at least partially, by human storage administrators and are quite involved.
Storage Management commands (operations) are commands that do not directly concern the I/O operations that are addressed to the storage system (such as write data to or read data from a storage). The storage management commands may concern modifications in the internal structure of data in the storage system (e.g. volumes, mirrors, snapshots), or in the distribution of data over the physical components of the storage system, and the like. Remote Storage management commands are management commands that are addressed to remote storage systems.
Thus, remote management operation may include by way of example one or more of the following management operations:                1. Communication management: includes part or all of the following: defining the communication paths between the storage systems to participate in the operation. Communication management includes identifying port pairs on local and remote storage systems over which remote operations and data will flow.        2. Volume management includes: part or all of the following: Definition of a remote mirroring pair, i.e., the relationship between primary volumes (residing in local storage) and secondary volumes (residing in remote storage), definition of consistency groups and definition of the replication type. Consistency group, as is well known, refers to gathering of a few distinct volumes for the purposes of applying certain management commands to all of them as atomic commands. Thus, for instance, a mirroring operation in respect of the consistency group will create a replica of all the volumes in the group as an atomic command, and not of each of the specified volumes in a row. Also: snapshots (either local or remote) of all volumes in the group are created as an atomic operation. Replication type, as is well known, includes synchronous and a-synchronous operation. In the former, the replication action is terminated upon receipt of acknowledgement from the remote site, whereas in the latter, operation does not require acknowledgement for every mirroring transaction. Synchronous operation is more reliable (as every successful operation is acknowledged), but this is at the penalty of slower response time, naturally affecting performance, all as known per se. Note that Volume management is a very involved task.        3. Snapshot management includes part or all of the following: Creation or deletion of snapshots in remote storage. The snapshots in remote storage are typically of volume of the local storage.        4. Mirror management includes part or all of the following: creation or termination of the mirror in the remote storage of volumes in the local storage.        
What complicates the remote management procedures even further is the fact that in accordance with the prior art, remote storage is typically managed by a different (human) storage administrator than the one who manages the primary (local) storage.
An exemplary remote I/O operation is remote mirroring. Thus, for instance, in I/O remote mirroring operation, data that resides in volumes of local storage, is replicated and copied in accordance with a known protocol (e.g. synchronous, or asynchronous) into volume(s) that reside in remote storage. The remote mirroring affords restoration of lost or damaged data in the local storage, e.g. by accessing and retrieving the “mirrored data” from the remote storage. There are known techniques for implementing remote minors, such as in “Information Storage and Management: Storing, Managing, and Protecting Digital Information” Chapter 14 by EMC (hereinafter the “Information Storage”).
Note that in the context of remote mirroring, various known per se mechanisms have been devised to make sure that volumes will not be overwritten, which significantly complicates the definition of remote mirroring.
For a better understanding of the foregoing, attention is drawn to FIG. 1, illustrating a block diagram of a generalized system architecture for carrying out remote mirroring, according to the prior art. As shown, in FIG. 1 Host 10 accesses local storage 11 for executing I/O operations 12, such as reading/writing volumes or snapshots that reside in local storage. Local storage is depicted for simplicity as a single unit, although in real life this is typically not the case. As is further known in the art, management operations, such as create or delete resources (e.g. volumes/snapshots) in the local storage, require involvement of computerized storage manager module 13, possibly also with significant involvement of human storage administrator 14 through interface 15. For instance in order to create local volume the human administrator 14 in charge of the local storage should be approached. In response, the human administrator activates the computerized storage manager 13 (through interface 15) for creating a volume at local storage 11. Remote operations (such as remote mirroring) not only require a sequence of operations that are executed at the local storage 11, but also operations performed at the remote storage 16 and this requires involvement of computerized remote storage manager module 17 and possibly also of remote human storage administrator 18 (utilizing interface 19). Note that in many cases, the remote storage may be of different characteristics (and/or commercially available from a different vendor) than the local storage, and therefore the local and the remote storage managers are not identical, further hindering the coordination required to implement the remote management operation. Moreover, in many cases, the local and remote storage administrators are different entities, thereby further complicating the remote management preparatory operations and the actual remote management implementation. Thus, for example, in order to apply remote mirroring, a volume (say V1) is created in the local storage 11 in the manner specified above. Now, the remote human administrator 18 (typically a different entity than the local human administrator 14) is approached and requested to create a remote volume V1′ and to attach it to V1. The remote administrator will activate the computerized remote storage manager 17 (through interface 18) for creating remote volume V1′ and associating V1′ to V1.
Once establishing the adequate infrastructure for carrying out remote mirroring (in response to the specified preparatory operations) known per se procedures can be invoked for implementing remote mirroring (e.g. through link 100), e.g. in accordance with the teaching of the specified Information Storage publication.
As is well known, Storage pools is a mechanism used by storage administrators or managers to monitor and control storage allocation to hosts, e.g. in the case of volumes with snapshots or of thin volumes. A storage manager allocates a storage pool in accordance with the size of the storage quota to be allocated for a particular user, which accesses the system via a host or via a group of hosts. The storage pool forms part of the storage system. All volumes for this user are allocated then by the storage manager (e.g. local storage manager 13) from this storage pool. This is useful for instance in the case of snapshots, because while one can anticipate the amount of snapshots to be created by the user, it is difficult to anticipate the rate of change of data in the source after any snapshot to is created, and accordingly it is difficult to anticipate the amount of additional storage space that will be needed as new data is created as part of the snapshot mechanism. Hence, the pools provide a flexible way to manage the space allocated to a certain user. When the space in the pool is depleted, no more data can be allocated for volumes associated with the pool and no new volumes can be created which use space associated with this pool. At this point the storage manager/administrator may free some space by deleting some volumes or snapshots, thus increasing the pool size, or abort the new data allocation.
The storage manager (possibly under control of the storage administrator) is also in charge of imposing security rules, for instance authorizing or denying access of the host to given volumes/snapshots (e.g. residing in storage pools).
There is thus a need in the art to simplify remote operation management.
There is still another need in the art to reduce the amount of coordination between remote storage manager(s) and administrators.
There is still another need in the art to allow delegation of some of the remote management tasks from storage manager/administrator to the host manager.